|
Menyplacering |
---|
Draft -> ShapeString |
Arbetsbänkar |
Draft, Arch |
Standard genväg |
S S |
Introducerad i version |
- |
Se även |
Draft Text, Part Extrude |
The Draft ShapeString command creates a compound shape that represents a text string. This shape can be used to create 3D letters with the Part Extrude command.
The Draft ShapeString command is not intended for standard text annotations. The Draft Text command or the Draft Label command should be used for that purpose.
For Windows users: please read the Font file selection on Windows paragraph first.
It is possible to specify a relative path for the font file. For this the FreeCAD document must have been saved at least once.
Some examples:
On Windows access to the default font folder is restricted. This affects the font file selection for ShapeStrings. There are three cases in FreeCAD where a font file for ShapeStrings can be specified: in the ShapeString task panel, when changing the DataFont File property of a ShapeString, and when specifying the default font file in the Draft Preferences.
Pressing the ... button and then selecting a file from the default Windows font folder is not possible when using the native file dialog. There are a number of workarounds:
true
, which is the default value for this preference. This will only call a different, non-native, file dialog when pressing the ... button in the ShapeString task panel. With this file dialog the default Windows font folder can be accessed.true
. This instructs FreeCAD to always use the non-native file dialog.C:\
a dropdown list will appear. Select Windows
from that list and add \F
. Select Fonts
from the new dropdown list. Finally add \
and the first letter(s) of the font file, and then select it from the dropdown list.See the Preferences paragraph below for the location of the mentioned preferences.
See also: Preferences Editor, Draft Preferences and Std DlgParameter.
true
to use the non-native file dialog when selecting a font file from the ShapeString task panel.true
to always use the non-native file dialog.See also: Property editor.
A Draft ShapeString object is derived from a Part Part2DObject and inherits all its properties. It also has the following additional properties:
Draft
File
): Font file name.Bool
): Fuse faces if faces overlap, usually not required (can be very slow). Ignored if DataMake Face is false
. introduced in version 1.0Enumeration
): Horizontal and vertical alignment. Options: Top-Left
, Top-Center
, Top-Right
, Middle-Left
, Middle-Center
, Middle-Right
, Bottom-Left
, Bottom-Center
, Bottom-Right
. introduced in version 1.0Enumeration
): Height reference used for justification. Options: Cap Height
, Shape Height
. The shape height depends on the characters in DataString. introduced in version 1.0Bool
): Keep left margin and leading white space when justification is left. introduced in version 1.0Bool
): Fill letters with faces.Angle
): Oblique (slant) angle. Must be in the -80° to +80° range. introduced in version 1.0Bool
): Scale to ensure cap height is equal to size. If set to false
, depending on the font, cap height will not match DataSize exactly. introduced in version 1.0Length
): Height of text.String
): Text string. A ShapeString can only display a single text line.Distance
): Inter-character spacing. introduced in version 1.0: The property type has been updated.The height of the red rectangle (solid line) is equal to the cap height.
The height of the green rectangle (dashed line) is equal to the shape height.
The corners, the midpoints of the edges, and the center of the rectangles
match the 9 justification options: Top-Left to Bottom-Right.
To create a Draft ShapeString use the make_shapestring
method (introduced in version 0.19) of the Draft module. This method replaces the deprecated makeShapeString
method.
shapestring = make_shapestring(String, FontFile, Size=100, Tracking=0)
shapestring
compound shape using the specified String
and the full path of a supported FontFile
.Size
is the height of the resulting text in millimeters.Tracking
is the inter-character spacing in millimeters.The placement of the ShapeString can be changed by overwriting its Placement
attribute, or by individually overwriting its Placement.Base
and Placement.Rotation
attributes.
Example:
import FreeCAD as App
import Draft
doc = App.newDocument()
font1 = "/usr/share/fonts/truetype/msttcorefonts/Arial.ttf"
font2 = "/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf"
font3 = "/usr/share/fonts/truetype/freefont/FreeSerifItalic.ttf"
S1 = Draft.make_shapestring("This is a sample text", font1, 200)
S2 = Draft.make_shapestring("Inclined text", font2, 200, 10)
zaxis = App.Vector(0, 0, 1)
p2 = App.Vector(-1000, 500, 0)
place2 = App.Placement(p2, App.Rotation(zaxis, 45))
S2.Placement = place2
S3 = Draft.make_shapestring("Upside-down text", font3, 200, 10)
S3.Placement.Base = App.Vector(0, -1000, 0)
S3.Placement.Rotation = App.Rotation(zaxis, 180)
doc.recompute()